In the various forms of the UNIX operating system, the number of disk blocks allocated in a file system is based on an initial configuration of file systems during creation of the file system. The sizes of the file systems remains unaltered until the file systems are removed and recreated for resizing, as required by a user. However, some file systems still provide a mechanism to increase the space by system administrators, and there are instances largely faced by system administrators or application developers, when an application exits or fails to continue execution due to a lack of file system space. An application running in the UNIX operating system may create temporary files on the native file system for data manipulation and when the application runs out of storage space on the native file system the application has no option but quit. Disadvantages include ramifications on system resource utilization and overhead for system administrators.
Some UNIX systems, for example AIX, allow the size of the file system to be increased without un-mounting the file system or rebooting the operating system. This does not let the applications increase the size of the file system for required usage of disk blocks while the applications are running. Therefore, the applications running eventually fail execution due to a crash or exits due to lack of disk space when the file system becomes fill. Only the root or the super-user can change the size of the file system, as needed, and the application must be re-run. If the file system gets full, only partial dumps are created on file systems, which is a disadvantage for application developers and kernel developers.
For example, in UNIX file systems, /var, /tmp, etc. are typically used to create temporary files. Running applications create files temporally on such file systems and delete the temporary files after completing application execution. Consider a scenario where each temporary file system has 0.5 GB of free disk space. If an application tries to create a 0.6 GB file, the application simply terminates due to insufficient disk space.
Therefore, there exists a need for an improved method and system for dynamically resizing the file systems without which the promise of this technology may never be fully achieved.